package com.nopay.dxdwphone.utils;

import java.io.File;
import java.util.Vector;

/**
 * @ProjectName: myVisualPhone
 * @Package: cn.cn.myvisualphone.utils
 * @ClassName: FileUtils
 * @Description: java类作用描述
 * @Author: anqi
 * @CreateDate: 2021/6/1 21:02
 * @UpdateUser: 更新者
 * @UpdateDate: 2021/6/1 21:02
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class FileUtils {
    /**
     * 获取指定目录内所有文件路径
     *
     * @param dirPath   需要查询的文件目录
     * @param fileType1 查询类型，比如xlsx
     * @param fileType2 查询类型，比如txt
     */
    public static Vector<File> getAllFiles(String dirPath, String fileType1, String fileType2) {
        Vector<File> fileVector = new Vector<>();
        File f = new File(dirPath);
        if (!f.exists()) {//判断路径是否存在
            return fileVector;
        }
        File[] files = f.listFiles();
        if (files == null) {//判断权限
            return fileVector;
        }
        Vector<File> vecFile = new Vector<File>();
        for (File _file : files) {//遍历目录
            if (_file.isFile() && _file.getName().endsWith(fileType1)) {
                vecFile.add(_file);
            } else if (_file.isFile() && _file.getName().endsWith(fileType2)) {
                vecFile.add(_file);
            } else if (_file.isDirectory()) {//查询子目录
                getAllFiles(_file.getAbsolutePath(), fileType1, fileType2);
            } else {

            }
        }
        return vecFile;
    }


    /**
     * 获取文件扩展名
     * @param filename 文件名
     * @return
     */
    public static String getExtensionName(String filename) {
        if ((filename != null) && (filename.length() > 0)) {
            int dot = filename.lastIndexOf('.');
            if ((dot >-1) && (dot < (filename.length() - 1))) {
                return filename.substring(dot + 1);
            }
        }
        return filename;
    }

}
